[跨服队伍]FriendsTeams

FriendsTeams 是一个功能丰富的 Minecraft 服务器插件,提供好友系统和队伍系统,支持跨服务器交互和数据库存储。

适用核心 Spigot /Paper 适用版本 1.8-1.21 是否付费 否 最新版本 v1.0.0

目录概要

1. 基础

简介

FriendsTeams 插件详细文档

FriendsTeams 是一个功能丰富的 Minecraft 服务器插件,提供好友系统和队伍系统,支持跨服务器交互和数据库存储。

主要特性

  • 好友系统 - 完整的社交功能,支持好友添加、删除、请求管理
  • 队伍系统 - 强大的组队功能,支持队伍创建、成员管理、队伍聊天
  • 跨服务器支持 - BungeeCord 网络支持,跨服务器传送功能
  • 数据库存储 - MySQL 数据库支持,数据持久化存储
  • 权限管理 - 完整的权限节点系统
  • PlaceholderAPI - 支持变量显示

功能特性

功能特性

好友系统

  • 添加/删除好友 - 支持发送和接受好友请求
  • 好友请求管理 - 查看待处理的好友请求
  • 好友列表查看 - 显示所有好友信息
  • 好友上线/下线通知 - 实时通知好友状态变化

队伍系统

  • 创建/解散队伍 - 玩家可以创建自己的队伍
  • 邀请玩家加入队伍 - 队长可以邀请其他玩家
  • 队伍成员管理 - 管理队伍成员权限
  • 队伍聊天功能 - 独立的队伍聊天频道
  • 队长权限管理 - 队长拥有特殊权限

跨服务器支持

  • BungeeCord 网络支持 - 支持多服务器网络
  • 跨服务器传送功能 - 队伍成员可以传送到队长所在服务器
  • 服务器间通信 - 实时跨服务器数据同步

权限节点

权限节点

权限节点 描述 默认值
friendsteams.command.friend 使用好友命令的权限 true
friendsteams.command.team 使用队伍命令的权限 true
friendsteams.admin 管理员权限 op
friendsteams.teleport 跨服传送权限 未设置

权限说明

  • 基础权限 - 所有玩家默认拥有好友和队伍功能权限
  • 管理员权限 - 管理员可以执行所有命令和功能
  • 传送权限 - 控制跨服务器传送功能的使用

命令列表

命令列表

好友命令 - /friend

命令 权限 描述
/friend add <玩家> friendsteams.command.friend 发送好友请求
/friend accept <玩家> friendsteams.command.friend 接受好友请求
/friend deny <玩家> friendsteams.command.friend 拒绝好友请求
/friend remove <玩家> friendsteams.command.friend 删除好友
/friend list friendsteams.command.friend 查看好友列表
/friend requests friendsteams.command.friend 查看待处理请求

队伍命令 - /team

命令 权限 描述
/team create <队伍名称> friendsteams.command.team 创建队伍
/team invite <玩家> friendsteams.command.team 邀请玩家加入队伍
/team accept <玩家> friendsteams.command.team 接受队伍邀请
/team leave friendsteams.command.team 离开当前队伍
/team disband friendsteams.command.team 解散队伍
/team info friendsteams.command.team 查看队伍信息
/team chat <消息> friendsteams.command.team 队伍聊天
/team warp friendsteams.command.team 请求传送到队长所在服务器
/team acceptwarp friendsteams.command.team 接受传送请求
/team confirm friendsteams.command.team 确认传送操作

Bungee管理命令 - /bungee

命令 权限 描述
/bungee servers friendsteams.admin 列出所有服务器
/bungee players <服务器名> friendsteams.admin 列出指定服务器的玩家
/bungee reload friendsteams.admin 重新加载配置
/bungee status friendsteams.admin 检查Bungee状态

2. 配置

配置文件

配置文件 (config.yml)

# 数据库配置
database:
  host: "localhost"
  port: 3306
  name: "minecraft"
  username: "root"
  password: ""
  # 连接池设置
  pool:
    max-pool-size: 10
    min-idle: 2
    max-lifetime: 1800000 # 30分钟(毫秒)
    connection-timeout: 5000 # 5秒(毫秒)

# 插件设置
settings:
  # 好友系统设置
  friend:
    max-friends: 50
    request-expire: 86400 # 好友请求过期时间(秒)

  # 队伍系统设置
  team:
    max-members: 10
    max-name-length: 16
    
  # Bungee跨服设置
  bungee:
    enabled: true
    # 允许跨服传送的子服列表
    servers:
      - "survival"
      - "creative"
      - "minigames"
    # 跨服传送冷却时间(秒)
    teleport-cooldown: 30
    # 跨服传送权限节点
    teleport-permission: "friendsteams.teleport"

配置说明

  • 数据库配置 - 设置MySQL数据库连接信息
  • 好友设置 - 控制好友数量限制和请求过期时间
  • 队伍设置 - 设置队伍成员数量和名称长度限制
  • Bungee设置 - 配置跨服务器功能

数据库结构

数据库结构

插件使用 MySQL 数据库存储所有数据,包含以下表:

friends 表(好友关系表)

字段 类型 描述
id INT (主键, 自增) 记录ID
player_uuid VARCHAR(36) 玩家UUID
friend_uuid VARCHAR(36) 好友UUID
created_at TIMESTAMP 创建时间

friend_requests 表(好友请求表)

字段 类型 描述
id INT (主键, 自增) 记录ID
sender_uuid VARCHAR(36) 发送者UUID
receiver_uuid VARCHAR(36) 接收者UUID
created_at TIMESTAMP 创建时间

teams 表(队伍表)

字段 类型 描述
id INT (主键, 自增) 记录ID
team_uuid VARCHAR(36) 队伍UUID
leader_uuid VARCHAR(36) 队长UUID
team_name VARCHAR(32) 队伍名称
created_at TIMESTAMP 创建时间
is_game_team BOOLEAN 是否为游戏队伍

team_members 表(队伍成员表)

字段 类型 描述
id INT (主键, 自增) 记录ID
team_uuid VARCHAR(36) 队伍UUID
player_uuid VARCHAR(36) 玩家UUID
joined_at TIMESTAMP 加入时间

数据库关系

  • friends 表存储玩家之间的好友关系
  • friend_requests 表存储待处理的好友请求
  • teams 表存储队伍基本信息
  • team_members 表存储队伍成员关系

PlaceholderAPI 变量

PlaceholderAPI 变量

插件支持 PlaceholderAPI,提供以下变量:

变量 描述 示例
%friendsteams_friend_count% 显示玩家好友数量 5
%friendsteams_team_name% 显示玩家所在队伍名称 我的队伍
%friendsteams_team_member_count% 显示队伍成员数量 3

使用示例

# 在聊天格式中使用
chat-format: '&7[&b%friendsteams_team_name%&7] &f%player_name%: &7%message%'

# 在计分板中使用
scoreboard:
  - '&b好友数量: &f%friendsteams_friend_count%'
  - '&b队伍: &f%friendsteams_team_name%'

安装要求

  • 需要安装 PlaceholderAPI 插件
  • 确保插件版本兼容性
  • 重启服务器使变量生效

3. 安装使用

安装步骤

安装步骤

1. 下载插件

  • 从官方渠道下载最新版本的 FriendsTeams 插件
  • 确保下载的版本与服务器版本兼容

2. 安装依赖

确保服务器已安装以下依赖:

  • MySQL - 数据库支持
  • PlaceholderAPI - 变量支持(可选)
  • BungeeCord - 跨服务器支持(可选)

3. 配置数据库

  1. 创建 MySQL 数据库
  2. 配置数据库连接信息
  3. 插件会自动创建所需的数据表

4. 配置文件设置

  1. 启动服务器生成配置文件
  2. 修改 config.yml 中的数据库设置
  3. 根据需要调整插件参数

5. 重启服务器

重启服务器使配置生效,插件开始工作。

使用方法

使用方法

好友系统使用

  1. 添加好友

    /friend add <玩家名>
    
  2. 接受好友请求

    /friend accept <玩家名>
    
  3. 查看好友列表

    /friend list
    

队伍系统使用

  1. 创建队伍

    /team create <队伍名称>
    
  2. 邀请玩家

    /team invite <玩家名>
    
  3. 队伍聊天

    /team chat <消息>
    

跨服务器功能

  1. 传送到队长

    /team warp
    
  2. 查看服务器列表

    /bungee servers
    

管理员功能

  1. 重新加载配置

    /bungee reload
    
  2. 检查服务器状态

    /bungee status
    

故障排除

故障排除

常见问题

Q: 插件无法连接数据库

A: 检查以下设置:

  • 数据库服务器是否运行
  • 数据库连接信息是否正确
  • 数据库用户权限是否足够
  • 防火墙是否阻止连接

Q: 跨服务器功能不工作

A: 确保:

  • BungeeCord 网络配置正确
  • 所有子服务器都安装了插件
  • 服务器间通信正常
  • 权限节点设置正确

Q: PlaceholderAPI 变量不显示

A: 检查:

  • PlaceholderAPI 插件是否安装
  • 插件版本是否兼容
  • 变量名称是否正确
  • 重启服务器使配置生效

Q: 好友请求过期

A: 可以调整配置:

settings:
  friend:
    request-expire: 172800 # 延长到48小时

日志查看

插件会在控制台输出详细的日志信息,包括:

  • 数据库连接状态
  • 命令执行记录
  • 错误信息
  • 调试信息

性能优化

  • 定期清理过期的好友请求
  • 优化数据库查询
  • 合理设置连接池参数
  • 监控插件性能指标

4. 注意事项

重要提醒

注意事项

1. 数据库要求

  • 插件需要 MySQL 数据库支持
  • 请确保正确配置数据库连接信息
  • 建议定期备份数据库以防止数据丢失
  • 确保数据库用户有足够的权限

2. BungeeCord 网络

  • 如需使用跨服务器功能,需要在 BungeeCord 网络中正确配置
  • 所有子服务器都需要安装插件
  • 确保服务器间通信正常
  • 配置正确的权限节点

3. 性能考虑

  • 大量玩家同时使用可能影响性能
  • 建议合理设置好友数量限制
  • 定期清理过期数据
  • 监控服务器资源使用情况

4. 安全建议

  • 定期更新插件版本
  • 使用强密码保护数据库
  • 限制数据库用户权限
  • 监控异常活动

5. 兼容性

  • 插件支持 PlaceholderAPI,如需使用变量功能请安装 PlaceholderAPI 插件
  • 确保与其他插件的兼容性
  • 测试不同版本的 Minecraft 服务器
  • 备份重要数据

6. 维护建议

  • 定期检查插件更新
  • 监控数据库性能
  • 清理无用的数据
  • 优化配置文件设置

这个插件为 Minecraft 服务器提供了完整的社交功能,让玩家能够更好地互动和组队游戏。